home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / libxml2 / libxml / xmlautomata.h < prev    next >
C/C++ Source or Header  |  2006-04-25  |  4KB  |  147 lines

  1. /*
  2.  * Summary: API to build regexp automata
  3.  * Description: the API to build regexp automata
  4.  *
  5.  * Copy: See Copyright for the status of this software.
  6.  *
  7.  * Author: Daniel Veillard
  8.  */
  9.  
  10. #ifndef __XML_AUTOMATA_H__
  11. #define __XML_AUTOMATA_H__
  12.  
  13. #include <libxml/xmlversion.h>
  14. #include <libxml/tree.h>
  15.  
  16. #ifdef LIBXML_REGEXP_ENABLED
  17. #ifdef LIBXML_AUTOMATA_ENABLED
  18. #include <libxml/xmlregexp.h>
  19.  
  20. #ifdef __cplusplus
  21. extern "C" {
  22. #endif
  23.  
  24. /**
  25.  * xmlAutomataPtr:
  26.  *
  27.  * A libxml automata description, It can be compiled into a regexp
  28.  */
  29. typedef struct _xmlAutomata xmlAutomata;
  30. typedef xmlAutomata *xmlAutomataPtr;
  31.  
  32. /**
  33.  * xmlAutomataStatePtr:
  34.  *
  35.  * A state int the automata description,
  36.  */
  37. typedef struct _xmlAutomataState xmlAutomataState;
  38. typedef xmlAutomataState *xmlAutomataStatePtr;
  39.  
  40. /*
  41.  * Building API
  42.  */
  43. XMLPUBFUN xmlAutomataPtr XMLCALL        
  44.             xmlNewAutomata        (void);
  45. XMLPUBFUN void XMLCALL            
  46.             xmlFreeAutomata        (xmlAutomataPtr am);
  47.  
  48. XMLPUBFUN xmlAutomataStatePtr XMLCALL    
  49.             xmlAutomataGetInitState    (xmlAutomataPtr am);
  50. XMLPUBFUN int XMLCALL            
  51.             xmlAutomataSetFinalState    (xmlAutomataPtr am,
  52.                          xmlAutomataStatePtr state);
  53. XMLPUBFUN xmlAutomataStatePtr XMLCALL    
  54.             xmlAutomataNewState        (xmlAutomataPtr am);
  55. XMLPUBFUN xmlAutomataStatePtr XMLCALL    
  56.             xmlAutomataNewTransition    (xmlAutomataPtr am,
  57.                          xmlAutomataStatePtr from,
  58.                          xmlAutomataStatePtr to,
  59.                          const xmlChar *token,
  60.                          void *data);
  61. XMLPUBFUN xmlAutomataStatePtr XMLCALL    
  62.             xmlAutomataNewTransition2    (xmlAutomataPtr am,
  63.                          xmlAutomataStatePtr from,
  64.                          xmlAutomataStatePtr to,
  65.                          const xmlChar *token,
  66.                          const xmlChar *token2,
  67.                          void *data);
  68. XMLPUBFUN xmlAutomataStatePtr XMLCALL
  69.                     xmlAutomataNewNegTrans    (xmlAutomataPtr am,
  70.                          xmlAutomataStatePtr from,
  71.                          xmlAutomataStatePtr to,
  72.                          const xmlChar *token,
  73.                          const xmlChar *token2,
  74.                          void *data);
  75.  
  76. XMLPUBFUN xmlAutomataStatePtr XMLCALL    
  77.             xmlAutomataNewCountTrans    (xmlAutomataPtr am,
  78.                          xmlAutomataStatePtr from,
  79.                          xmlAutomataStatePtr to,
  80.                          const xmlChar *token,
  81.                          int min,
  82.                          int max,
  83.                          void *data);
  84. XMLPUBFUN xmlAutomataStatePtr XMLCALL    
  85.             xmlAutomataNewCountTrans2    (xmlAutomataPtr am,
  86.                          xmlAutomataStatePtr from,
  87.                          xmlAutomataStatePtr to,
  88.                          const xmlChar *token,
  89.                          const xmlChar *token2,
  90.                          int min,
  91.                          int max,
  92.                          void *data);
  93. XMLPUBFUN xmlAutomataStatePtr XMLCALL    
  94.             xmlAutomataNewOnceTrans    (xmlAutomataPtr am,
  95.                          xmlAutomataStatePtr from,
  96.                          xmlAutomataStatePtr to,
  97.                          const xmlChar *token,
  98.                          int min,
  99.                          int max,
  100.                          void *data);
  101. XMLPUBFUN xmlAutomataStatePtr XMLCALL
  102.             xmlAutomataNewOnceTrans2    (xmlAutomataPtr am, 
  103.                          xmlAutomataStatePtr from,
  104.                          xmlAutomataStatePtr to, 
  105.                          const xmlChar *token,
  106.                          const xmlChar *token2,
  107.                          int min, 
  108.                          int max, 
  109.                          void *data);
  110. XMLPUBFUN xmlAutomataStatePtr XMLCALL    
  111.             xmlAutomataNewAllTrans    (xmlAutomataPtr am,
  112.                          xmlAutomataStatePtr from,
  113.                          xmlAutomataStatePtr to,
  114.                          int lax);
  115. XMLPUBFUN xmlAutomataStatePtr XMLCALL    
  116.             xmlAutomataNewEpsilon    (xmlAutomataPtr am,
  117.                          xmlAutomataStatePtr from,
  118.                          xmlAutomataStatePtr to);
  119. XMLPUBFUN xmlAutomataStatePtr XMLCALL    
  120.             xmlAutomataNewCountedTrans    (xmlAutomataPtr am,
  121.                          xmlAutomataStatePtr from,
  122.                          xmlAutomataStatePtr to,
  123.                          int counter);
  124. XMLPUBFUN xmlAutomataStatePtr XMLCALL    
  125.             xmlAutomataNewCounterTrans    (xmlAutomataPtr am,
  126.                          xmlAutomataStatePtr from,
  127.                          xmlAutomataStatePtr to,
  128.                          int counter);
  129. XMLPUBFUN int XMLCALL            
  130.             xmlAutomataNewCounter    (xmlAutomataPtr am,
  131.                          int min,
  132.                          int max);
  133.  
  134. XMLPUBFUN xmlRegexpPtr XMLCALL        
  135.             xmlAutomataCompile        (xmlAutomataPtr am);
  136. XMLPUBFUN int XMLCALL                
  137.             xmlAutomataIsDeterminist    (xmlAutomataPtr am);
  138.  
  139. #ifdef __cplusplus
  140. }
  141. #endif 
  142.  
  143. #endif /* LIBXML_AUTOMATA_ENABLED */
  144. #endif /* LIBXML_REGEXP_ENABLED */
  145.  
  146. #endif /* __XML_AUTOMATA_H__ */
  147.